﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BlackEagleClient.DatingReference;
using BlackEagleLibrary;

namespace BlackEagleClient
{
    public partial class Search : System.Web.UI.Page
    {
        /// <summary>
        /// Kallar på CheckImg i CustomMethods för att kontrollera bildens URLs status, är bilden otillgänglig, så returneras sökvägen till en siluettbild (föreställande en man eller kvinna beroende på parametern sex).
        /// </summary>
        /// <param name="url"></param>
        /// <param name="sex"></param>
        /// <returns></returns>
        public string CheckImg(string url, int sex)
        {
            return CustomMethods.CheckImg(url, sex);
        }

        protected void btnSearch_Click(object sender, EventArgs e)
        {
            //Hämtar input
            string searchName = "";
            searchName = tbxSearch.Text;
            int sex = int.Parse(rbSex.SelectedValue);

            using (DatingServiceClient client = new DatingServiceClient())
            {
                //Binder datan direkt till DataList SearchResultList i anropet till WCF:en
                SearchResultList.DataSource = client.SearchPersons(searchName, sex);
                SearchResultList.DataBind();
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //Kontroll att det finns en användare inloggad
            if (HttpContext.Current.User.Identity.IsAuthenticated)
            {
                Guid id = new Guid(WebProfile.Current.ID);

                //Kod för hantera/räkna nya vänansökan och nya meddelanden
                using (DatingServiceClient client = new DatingServiceClient())
                {
                    Label msgLabel = (Label)Master.FindControl("loginViewMasterCount").FindControl("lblCountMsg");
                    if (msgLabel != null)
                    {
                        int counter = client.CountNewMessages(id);
                        msgLabel.Text = counter.ToString();
                    }

                    Label friendLabel = (Label)Master.FindControl("loginViewMasterCount").FindControl("lblCountFriend");
                    if (friendLabel != null)
                    {
                        int counter = client.CountNewFriends(id);
                        friendLabel.Text = counter.ToString();
                    }
                }
            }

            else
            {
                //Om besökaren inte är inloggad skickas hen till inloggningssidan
                Response.Redirect("/account/Login.aspx");
            }
        }
    }
}